Generally a computing environment includes a device or a set of devices with software/firmware (OS, applications, etc.) to provide a set of computing services to end-users. The personality of computing environment means the hardware/firmware/software changes directly or indirectly made by end-users during the use of computing environment. Through reapplying those changes, the end-user can rejuvenate his/her working status of the computing environment at a certain time. How to preserve personality of a computing environment during computer migration is a non-trivial process. A commercial operating system vendor (such as Microsoft Corporation) will want it to be extremely difficult, if not impossible, to migrate one computing environment (a Windows 2000™-based computing environment) to the computing environment of another vendor (such as a Linux™ based computing environment). Such migration is also hard even if the computers involved are running the exact same version of the same operating system. For example, if imaging (or disk cloning) is not an option, it is an arduous task to migrate from one computing environment of Windows™ to another.
The inordinate difficulty can be ascribed to the fact that definition and extractability of a system's personality have hardly ever been points of focus during system design. Besides, the lack of cross-platform personality representation exacerbates the portability of computing environment. Finally, the user's unfamiliarity to the application on target platform is another negative impact to user's motivation on migration.
U.S. patent applications U.S. 2003/0067485 A1, U.S. 2003/0070061 A1 and U.S. 2003/0135648 A1 can be referred as prior art reference documents related to system migration.
Due to the complexity of migration, there're some tools developed to help the migration task, among which there are some tools for PC migration purpose. The tools can transfer and transform the personality on one PC (source) to the other (destination) to help users to rejuvenate his/her working status on the destination PC, which has different OS and application set installed. But, all of the tools only support the migration between two PCs running Windows™ family OS (Windows 95™, Windows 98™, Windows Me™, Windows 2000™ or Windows XP™), such as, Aloha Bob PC Relocator™, Desktop DNA™, SMA™, IntelliMover™ PCSynC™, PT PRO™, Altiris PC Transplant™. The tools, especially their information probing and information representation method are designed for Windows™ and do not support cross-platform migration, because there are different concepts on different platforms and even the same concept will be represented in different forms on different platforms. For example, the concept of “drive X” in Windows™ filesystem does not exist on Unix™ filesystem. If your really want to express the “drive X” concept on Unix™ (has the same meaning), it will be like “disk drive with the device name of /dev/hdxN mounted on directory X”.
It can be seen that current tools are designed for specific two platforms (most are approximate platforms running the operating systems and applications belonging to a same series) and most only support one-way migration (e.g., support the migration from Windows95 to Windows2000 and do not support the backward migration). In addition, there are not any tools to help a user to get familiar with a new application on the basis of the user's experience and concept formed on an existing application on a platform, e.g. user migrates from MS Word™ to OpenOffice Writer™, where the new application has the functions similar to those of the existing application and is on another platform.
Therefore, there is needed a brand new migration system and method independent of special platform and not limited to only supporting one-way migration. Also needed is a mechanism for helping a user, by using his/her concept and experience formed on an existing application on one platform, to get familiar with a new application on another platform that has similar functions with those of the existing application.